From: Nelson Benítez León Date: Sun, 25 Sep 2022 01:16:18 +0000 (-0400) Subject: fix crash in gtk_synthesize_crossing_events() X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~116^2~1^2~214^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=94a4c2cb4019a6d155ef1b4d43d3107d8449bc98;p=gtk4.git fix crash in gtk_synthesize_crossing_events() Update ancestor between GTK_CROSSING_OUT and GTK_CROSSING_IN as it may have changed. Fixes #5190 --- diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 7ea84d4878..dfa9e399ef 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -1186,6 +1186,11 @@ gtk_synthesize_crossing_events (GtkRoot *toplevel, for (widget = new_target; widget; widget = _gtk_widget_get_parent (widget)) gtk_widget_stack_append (&target_array, g_object_ref (widget)); + if (old_target && new_target) + ancestor = gtk_widget_common_ancestor (old_target, new_target); + else + ancestor = NULL; + crossing.direction = GTK_CROSSING_IN; seen_ancestor = FALSE;